package com.yidu.t286.biz.impl;
/*
 * @description:
 * @author:文杰
 * @date  :2021/7/27 0027下午 3:25
 */

import com.yidu.t286.biz.MotorBiz;
import com.yidu.t286.dao.MotorDao;
import com.yidu.t286.domain.Motor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service("/motorBiz")
public class MotorBizImpl implements MotorBiz {

    @Autowired
    private MotorDao motorDao;

    /**
     * 向数据库表motor增加一行数据
     *
     * @param motor 发动机对象
     * @return 影响的行数: 1:添加成功 2:添加失败
     */
    @Override
    public int add(Motor motor) {
        return motorDao.add(motor);
    }

    /**
     * 根据发动机型号删除数据
     *
     * @param motorId 发动机型号
     * @return 影响的行数 1:删除成功 0:删除失败
     */
    @Override
    public int delete(int motorId) {
        return motorDao.delete(motorId);
    }

    /**
     * 在数据库表motor修改数据
     *
     * @param motor 发动机对象
     * @return 影响的行数 1:修改成功 0:修改失败
     */
    @Override
    public int update(Motor motor) {
        return motorDao.update(motor);
    }

    /**
     * 从数据库表motor查询所有数据
     *
     * @return 发动机对象集合
     */
    @Override
    public List<Motor> findAll() {
        return motorDao.findAll();
    }

    /**
     * 按条件分页查询
     *
     * @param rows      每页的行数
     * @param pages     开始的页数
     * @param condition 条件字符串
     * @return 发动机对象集合
     */
    @Override
    public List<Motor> findByPage(int rows, int pages, String condition) {
        int start=(pages-1)*rows;
        return motorDao.findByPage(start,rows,condition);
    }

    /**
     * 多条件查询记录数
     *
     * @param condition 条件字符串
     * @return 记录数
     */
    @Override
    public int count(String condition) {
        return motorDao.count(condition);
    }

    /**
     * 获取查询条件
     *
     * @param motor 发动机对象
     * @return 条件字符串
     */
    @Override
    public String getCondition(Motor motor) {
        //定义查询条件字符串，初值为带空格的字符串(注意后续条件中的空格)
        String condition=" ";
        //如果车系对象为空，则直接返回空字符串
        if(motor==null){
            return condition;
        }
        //如果车系编号不为空
        if(motor.getCarseriesId()!=0){
            condition += "and carseriesId=" +motor.getCarseriesId();
        }
        //返回条件字符串
        return condition;
    }
}
